package cloudInformation.service;

import cloudEntity.vo.PageBeanVO;
import cloudEntity.vo.news.SmartNewsVO;
import cloudEntity.dto.news.SmartNewsUpdateDTO;
import cloudEntity.dto.news.SmartNewsInsertDTO;

import java.util.List;


/**
 * @program: Smart School
 * @ClassName SmartNewsService
 * @description: 智慧校园新闻服务接口
 * @author: 陈智博
 * @create: 2025-04-14 08:31
 * @Version 1.0
 **/
public interface SmartNewsService {

    /**
     * 分页获取新闻
     * @param query 查询的 type 新闻类型
     * @param pageNum 页码
     * @param pageSize 条数
     * @return 返回 分页查询过后的新闻
     */
    PageBeanVO<SmartNewsVO> GetSmartNews(Integer query,
                                         Integer pageNum,
                                         Integer pageSize);

    /**
     * 修改 新闻详情
     * @param smartNewsUpdateDTO 新闻详情dto
     * @return 返回 修改是否 成功。
     */
    Integer UpdateSmartNews(SmartNewsUpdateDTO smartNewsUpdateDTO);

    /**
     * 删除 新闻详情
     * @param ids 新闻 id
     * @return 返回 删除是否 成功
     */
    Integer deleteSmartNews(Long ids);

    /**
     * 根据 type 来 查询 新闻 数据
     * @param type 类型
     * @return 返回查询 过后 的 新闻 数据
     */
    List<SmartNewsVO> SelectSmartNewsByType(Integer type);

    Integer InsertNews(SmartNewsInsertDTO insertDTO);
}
